﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace xConnected.Core.Model.ViewModel
{
    [Serializable]
    [DataContract]
    [DisplayColumn("Title")]
    public class AdvancedSearchModelProfile : PersistentEntity
    {
       
        [DataMember]
        public int UserId { get; set; }

        [DataMember]
        public bool ShowAll { get; set; }

        [DataMember]
        public bool SimpleSearch { get; set; }
      
        [DataMember]
        public int PageIndex { get; set; }

        [DataMember]
        public int PageSize { get; set; }

        [DataMember]
        public List<string> Keywords { get; set; }

        [DataMember]
        public string Title { get; set; }

        [DataMember]
        public double? HourRateFrom { get; set; }

        [DataMember]
        public double? HourRateTo { get; set; }

        [DataMember]
        public double? DailyRateFrom { get; set; }

        [DataMember]
        public double? DailyRateTo { get; set; }

        [DataMember]
        public double? MonthlyRateFrom { get; set; }

        [DataMember]
        public double? MonthlyRateTo { get; set; }

        [DataMember]
        public double? AnnualRateFrom { get; set; }

        [DataMember]
        public double? AnnualRateTo { get; set; }

        [DataMember]
        public string CommentRate { get; set; }

        [DataMember]
        public short? JobType { get; set; }

        [DataMember]
        public short? AvailabilityStatus { get; set; }

        [DataMember]
        public string Location { get; set; }

        [DataMember]
        public double? XLocation { get; set; }

        [DataMember]
        public double? YLocation { get; set; }

        [DataMember]
        public float? Distance { get; set; }
        
        [DataMember]
        public virtual IList<int> CountryIds { get; set; }

        [DataMember]
        public virtual IList<int> IndustryIds { get; set; }

        [DataMember]
        public virtual IList<int> CategoryIds { get; set; }

        [DataMember]
        public virtual IList<int> TechnologyIds { get; set; }

        [DataMember]
        public virtual IList<int> LanguageIds { get; set; }

        [DataMember]
        public virtual IList<int> EducationIds { get; set; }
    }
}
